#include <SPI.h>
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <DS3231.h>
#include <Wire.h>

byte mac[] = {0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02};

DS3231 temp;
EthernetUDP Udp;

void setup()
{
	// 初始化DS3231模块
	Wire.begin();
	// 初始化串口
	Serial.begin(9600);
	// 自动获取IP地址
	if (Ethernet.begin(mac) == 0)
	{
		while (true)
		{
			delay(1);
		}
	}
	// 初始化UDP
	Udp.begin(8888);
}

void loop()
{
	// 获取温度
	float fTemp = temp.getTemperature();
	char strTemp[5];
	// 转化为字符串(两位整数、两位小数和一个点，5个字节)
	dtostrf(fTemp, 2, 2, strTemp);
	// 目的IP
	IPAddress remoteIP(230, 111, 111, 111);
	// 发报文
	Udp.beginPacket(remoteIP, 8888);
    Udp.write(strTemp);
    Udp.endPacket();
	// 打印当前温度
	Serial.println(strTemp);
	// 每隔两秒获取并发送一次
	delay(2000);
}